Build Bigger Than Ever Before

KingsLanding

When we released voxel terrain in 2011, we realized that creators had to adhere to a narrowly defined set of rules. As with any major release, we kept a steady ear to the ground and gathered as much feedback as possible to determine how to improve the feature make it a more viable and enjoyable tool for building. Though we’ll be updating the overall “look” or our terrain the coming months, infrastructural changes first had to be made to broaden the scope of terrain capabilities. We distilled your feedback into three significant improvements, each of which we’ve been working to address.

Continue reading
     
 

New Material Textures Are Now Live

Temple of the Sea (Marble)ROBLOX’s streak of fantastic rendering updates goes yet another step further today with the release of updated material textures and a starter-pack of brand new options. The updated and new textures increment the visual quality of all games on all the platforms (desktop and mobile) we support, while simultaneously giving you more flexibility to build perfectly engrossing worlds and levels.

We’ve been carefully listening to your feedback as we’ve changed the look of ROBLOX over the last six months. For instance, we prioritized the development of dynamic shadows in our lighting engine and gave you full control over the appearance of outlines. While we’re not giving you the option to toggle new materials on and off, we’d like to hear your constructive criticism, success stories and requests for additional materials. If we notice many people sharing an opinion, we may tweak or add the material in question. The best way for you to make your case is to upload and share screenshots — whether the materials make something you’ve built look exceptional or flawed.

Continue reading
     
 

The Implementation and Effect of New Water

“Terrain” water has existed in ROBLOX for the last year and a half and, while the physics have always behaved in satisfyingly realistic fashion, the appearance left something to be desired. Last week, we turned on a new look for our water, bringing waves, reflections, and blue underwater “fog” to ROBLOXian H2O. The feature is primarily eye candy, but it fits in our grand rendering overhaul that started with improved performance and lead to dynamic lighting, part outlines, and in the near future new building material textures.

Continue reading
     
 

Dynamic Lights Now Support Shadows

Ever since the release of dynamic lighting last spring, our gamers, builders and developers have united in requesting that objects blocking SpotLights and PointLights – in addition to sunlight – cast shadows. We received so many requests for this unarguably intuitive improvement that we prioritized it in our development pipeline and pushed it to production as quickly as possible. While it’s a simple advancement on the surface, the Rendering Team poured significant time into making it happen without a hit to your performance.

Continue reading
     
 

Synchronizing Physics and Rendering at a Smooth 60 FPS

ROBLOX Battle June 2013The ROBLOX game engine interweaves multiple jobs to create an accurate on-screen representation of your multiplayer, physically simulated games. The primary jobs are physics, rendering, networking and Lua scripts, and each job is updated at a frequency that balances performance and fidelity. We are working on rolling out an optimization to those update frequencies – particularly in relation to the physics and rendering jobs – to boost ROBLOX’s max framerate to 60 at almost no cost to performance.

In an ideal world, each of the primary jobs would be updated at exactly the same frequency (let’s say 120Hz), your computer and network would be able to manage the load, and the framerate would stay locked at 120. However, in an online game as complex and variable as ROBLOX, that’s a dream. Instead, we have to optimize the frequency at which each job provides new data for the best possible experience. This is what we’ve done to increase ROBLOX’s framerate to 60: optimize the frequency and distribution of physics updates, and ultimately synchronize the physics frequency with the render frequency.

Continue reading
     
 

New Font Engine Makes GUI Text Clearer Than Ever

spritesheetWe recently updated our font engine to make it easier for developers to create high-quality GUIs with legible and sharp text, and implement them in their games. Our previous font engine code was very limited–only two text sizes rendered without extra scaling, so the majority of text looked slightly out of focus. Rendering Engineer Arseny Kapoulkine explains these changes, and what you can do to utilize them.

What’s New

ROBLOX’s updated font engine is more robust, both in Studio, and in game. Join any game that you love playing and take a look at the letters in the text of any GUI–they are sharper and easier to read. That’s because we’ve upped the number of natively rendered font sizes from two to six. Other sizes will still be scaled during rendering and appear blurry–keep reading for guidelines on maintaining crisp text.

Along with six native font sizes, our font engine now performs kerning, which is a process that adjusts spacing between characters. This makes long sections of text more readable as letters are properly spaced based on the width, length, and shape of each character.

Continue reading
     
 

Outlines: Simple Appearance, Complex Technology

outlines1Last month, ROBLOX launched a new rendering feature known as “outlines.” Outlines essentially draw a black border around all the edges you see in ROBLOX worlds; helping to establish a more unified aesthetic between the vast array of creations. While they’re a work in progress and we’ve since decided to make them optional, the way we arrived at their implementation was a challenging process of considering the industry standards and developing our own solution. We ultimately settled on a technique that fits squarely within the confines of our platform and is entirely scalable to a wide range of legacy hardware.

The Extrusion Method

With the extrusion method, developers first create an extruded (slightly bigger) version of the 3D object, render it black, and place the original object on top–the resulting image creates the illusion of a black and bold frame encompassing the 3D object. This is an expensive process computationally–in order to pursue this method, we’d have to render everything twice (the object and the outline frame), which would lead to a larger pool of users with older hardware who simply couldn’t experience ROBLOX. So we took a look at…

Continue reading